package tedu.week03.io;

import java.io.*;

/**
 * <pre>
 *      复制示例.
 *          分析:
 *              ①需要两个路径(源文件路径文件必须存在,目标路径必须创建)
 *              ②因什么文件都是可以复制的,所以此时采用的是字节流.
 *              ③通过
 * </pre>
 *
 * @author : resty
 * @date : 2019年08月13日    16时
 **/
public class CopyDemo {

    public static void main(String[] args)  {
        System.out.println("程序开始");
        File file1 = new File("resty.primary/src/main/resources/test.txt");
        File file2 = new File("resty.primary/src/main/resources/test1.txt");
        if (!file1.exists()) {
            System.out.println("源文件不存在");
            System.exit(1);
        }
        if (file2.exists()) {
            file2.delete();
            System.out.println("目标文件已存在,删除");
            try {
                Thread.sleep(2000);
                file2.createNewFile();
            } catch (IOException | InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("目标文件已重新创建");
        }else{
            try {
                file2.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("目标文件已重新创建");

        }

        InputStream ism = null;
        OutputStream osm = null;

        try {
            ism = new FileInputStream(file1);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            osm = new FileOutputStream(file2);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        int len = 0 ;
        int temp = 0 ;

        try {
            while((temp = ism.read())!=-1){
                osm.write(temp);
            }
        }catch(IOException e ){
            e.printStackTrace();
            System.out.println("文件读取异常");
        }finally {
            try {
                ism.close();
                osm.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        System.out.println("复制成功");
    }

}
